
$(document).ready(function () {

    //点击“添加新学生”按钮，弹出用于添加学生的模态框
    $("#btn_showAddModal").click(function () {
        $("#add_form")[0].reset();
        $("#add_modal").modal("show");
    }); 
    
    //点击“保存添加”按钮，发送请求给ass这个Servlet，添加新学生到数据库
    
    $("#btn_add").click(function(){
        $.ajax({
            url:"ass",
            type:"POST",
            data: $("#add_form").serialize(),
            success: function(rows){
                if(rows!=1){
                    alert("添加失败，请确保学号没有注册过，且信息格式正确");
                    return;
                }
                var str="<tr id=\"tr"+$("#add_form #irollno").val()+"\">"
                        +"<td>"+$("#add_form #irollno").val()+"</td>"
                        +"<td>"+$("#add_form #iname").val()+"</td>"
                        +"<td>"+$("#add_form #ipwd").val()+"</td>"
                        +"<td>"+$("#add_form #igender").val()+"</td>"
                        +"<td>"+$("#add_form #ibatch").val()+"</td>"
                        +"<td>"
                        +"<a class=\"link_showAddModal\" href=\"javascript:showModifyModal('#tr"+$("#add_form #irollno").val()+"');\">编辑</a>"
                        +"&nbsp;"
                        +"<a href=\"javascript:deleteStudent('"+$("#add_form #irollno").val()+"');\">删除</a>"
                        +"</td>"
                        +"</tr>";
                $("#dataTable").append(str);
                $("#add_modal").modal("hide");
                alert("添加成功，请滑到页面底部查看新添加的学生！");
            },
            error: function(){
                alert("请求处理出错，添加失败！");
            }
        });
    });
    
    //点击“保存修改”按钮，发送请求给mss这个Servlet，修改数据库中对应学生的信息
    $("#btn_modify").click(function(){
        $.ajax({
            url:"mss",
            type:"POST",
            data: $("#modify_form").serialize(),
            success: function(rows){
                if(rows!=1){
                    alert("修改失败，请确保姓名和密码没有超出字符限制");
                    return;
                }
                var rowId="#tr"+$("#modify_form #irollno").val();
                $(rowId+" td:eq(1)").text($("#modify_form #iname").val());
                $(rowId+" td:eq(2)").text($("#modify_form #ipwd").val());
                $("#modify_modal").modal("hide");
            },
            error: function(){
                alert("请求处理出错，添加失败！");
            }
        });
    });
});

//点击“编辑”超链接执行的函数，弹出用于编辑学生信息的模态框
function showModifyModal(rowId){
    $("#modify_modal #irollno").val($(rowId+" td:eq(0)").text());
    $("#modify_modal #iname").val($(rowId+" td:eq(1)").text());
    $("#modify_modal #ipwd").val($(rowId+" td:eq(2)").text());
    $("#modify_modal #igender").val($(rowId+" td:eq(3)").text());
    $("#modify_modal #ibatch").val($(rowId+" td:eq(4)").text());
    $("#modify_modal").modal("show");
}

//这里是自定义的函数deleteStudent()，用于根据学号删除一个学生
//函数需要传入一个字符串表示的学号，知道要删除哪个学生
function deleteStudent(rollno) {
    //调用jQuery的ajax()函数可发送ajax请求
    //这里使用一个json对象给出该函数需要的参数
    $.ajax({
        url: 'doss', //url指定请求的资源的url，doss表示的是一个Servlet
        type: 'GET', //type指定提交请求的方式是GET还是POST
        data: {sid: rollno}, //data指定要提交的请求参数，可用查询字符串或json对象表示参数，这里用了json对象，说明提交一个请求参数，参数名是sid，参数值是函数参数rollno的值
        success: function () { //success指定请求处理成功要执行的代码，用一个匿名函数表示
            //如果能执行到success的函数，说明数据库删除了，然后将对应的tr元素删除即可
            $("#tr" + rollno).remove();
        },
        error: function (req, status, error) { //error指定如果请求处理失败要执行的代码，用一个匿名函数表示
            alert("请求处理出错，错误信息：" + error);
        }
    });
}